package TP2.TDA;

public interface DiccionarioMultipleTDA {

	void inicializar();
	
	/*
	 * El conjunto de valores asociados a una clave no puede tener elementos
	 * repetidos.
	 */
	void agregar(int clave, int valor); // PC: Diccionario inicializado

	/*
	 * Dada una clave, elimina tanto los valores asociados como la clave
	 */
	void eliminar(int clave); // PC: Diccionario inicializado

	/*
	 * Dada una clave y un calor, elimina el valor asociado a la clave y la
	 * clave en caso de que sea el unico valor asociado a esa clave.
	 */
	void eliminarValor(int clave, int valor); // PC: Diccionario inicializado

	/*
	 * Devuelve los valores asociados a una clave, ConjuntoTDA vacio en caso de
	 * no existir la clave
	 */
	ConjuntoTDA recuperar(int clave); // PC: Diccionario inicializado

	ConjuntoTDA claves(); // PC: Diccionario inicializado
}
